跳到主要内容

1.2.4位运算符

构建一个电路,该电路具有两个3位输入,用于计算这两个向量的按位或(bitwise-OR)、逻辑或(logical-OR)以及两个向量的反向(NOT)。将b的反向放置在out_not的上半部分(即,位[5:3]),将a的反向放置在下半部分。

按位与逻辑运算符的区别

早前我们提到,各种布尔运算符(例如,norgate)都有按位和逻辑两种版本。在使用向量时,区分这两种运算符类型变得非常重要。两个N位向量之间的按位运算会在每个位上重复执行该运算,并产生一个N位的输出;而逻辑运算则是将整个向量当作一个布尔值来对待(非零为真,零为假),并产生一个1位的输出。

观察仿真波形,了解按位或与逻辑或之间的区别。

alt text

模块声明

module top_module( 
input [2:0] a,
input [2:0] b,
output [2:0] out_or_bitwise,
output out_or_logical,
output [5:0] out_not
);

做题区